"forchetta" ends in a, so it is feminine. "garfo" ends in o, so it is masculine. The femininity or masculinity does not really depend on the meaning of the word.
I honestly haven't noticed a pattern with masculine and feminine nouns. I just try to remember the genders of words.
Mostly ends in "o" = masculino; ends in "a" = feminine. Nouns and articles. the boy = o menino (masculine) a menina (feminine) the water = a água ; the bread = o pão; the dog = o cão,o cachorro (masculine) or a cachorra, a cadela (feminine)