Prime Minister David Cameron has promised Britain's Tamil community he will push for an international probe into alleged war crimes and human rights abuses when he attends a Commonwealth summit in Sri Lanka.

Cameron held talks with critics of President Mahinda Rajapaksa's rule to explain his decision to attend the meeting in Colombo on November 15-17 despite calls for a boycott.

He also set out plans to visit the north of the island to meet those caught up in the bloody 2009 suppression of the Tamil Tigers' independence battle.

International rights groups have said up to 40,000 civilians may have been killed in the final offensive against Tamil Tiger rebels, a charge denied by Colombo.

A Downing Street spokeswoman said: "We have consistently called for an independent inquiry into the allegations.

"To date, that has not happened. And the prime minister believes that in the absence of an independent investigation, an international inquiry would be needed."

In an article for a British-based Tamil newspaper, Cameron said: "Four years after the conflict no one has been held to account for grave allegations of war crimes and sexual violence, journalists are routinely intimidated and thousands of people have yet to find out what has happened to their missing relatives.

"I want to see that change. And I do not believe boycotting the Commonwealth meeting will achieve that. The right thing to do is to engage."

Britain's Prince Charles will attend the meeting, representing his mother Queen Elizabeth II, who is head of the 53-member bloc of mainly former British colonies.

Commonwealth heavyweight Canada has said it will boycott the meeting of heads of government in protest at alleged war crimes and rights abuses on the island.

Canada has also threatened to withdraw funding for the Commonwealth over the issue.

The UN estimates the bloody war in Sri Lanka cost 100,000 lives between 1972 and 2009.